home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Freeware 2002 November
/
SGI Freeware 2002 November - Disc 3.iso
/
dist
/
fw_qt3.idb
/
usr
/
freeware
/
Qt
/
include
/
qgplugin.h.z
/
qgplugin.h
Wrap
C/C++ Source or Header
|
2002-04-08
|
2KB
|
99 lines
#ifndef QGPLUGIN_H
#define QGPLUGIN_H
#ifndef QT_H
#include "qobject.h"
#endif // QT_H
#ifndef QT_NO_COMPONENT
#ifndef Q_EXTERN_C
#ifdef __cplusplus
#define Q_EXTERN_C extern "C"
#else
#define Q_EXTERN_C extern
#endif
#endif
#if defined(QT_THREAD_SUPPORT)
#define QT_THREADED_BUILD 1
#else
#define QT_THREADED_BUILD 0
#endif
#if defined(QT_DEBUG)
#define QT_DEBUG_BUILD 1
#else
#define QT_DEBUG_BUILD 0
#endif
#ifndef Q_EXPORT_PLUGIN
#define Q_PLUGIN_INITIALIZE \
{ \
if ( !qApp && theApp ) \
qt_ucm_initialize( theApp ); \
if ( mt ) \
*mt = QT_THREADED_BUILD; \
if ( debug ) \
*debug = QT_DEBUG_BUILD; \
return QT_VERSION; \
}
#define Q_PLUGIN_INSTANTIATE( IMPLEMENTATION ) \
{ \
IMPLEMENTATION *i = new IMPLEMENTATION; \
return i->iface(); \
}
# ifdef Q_WS_WIN
# ifdef Q_CC_BOR
# define Q_EXPORT_PLUGIN( PLUGIN ) \
class QApplication;\
extern Q_EXPORT QApplication *qApp; \
extern Q_EXPORT void qt_ucm_initialize( QApplication *theApp ); \
Q_EXTERN_C __declspec(dllexport) int __stdcall ucm_initialize( QApplication *theApp, bool *mt, bool *debug ) \
Q_PLUGIN_INITIALIZE \
Q_EXTERN_C __declspec(dllexport) QUnknownInterface* __stdcall ucm_instantiate() \
Q_PLUGIN_INSTANTIATE( PLUGIN )
# else
# define Q_EXPORT_PLUGIN( PLUGIN ) \
class QApplication;\
extern Q_EXPORT QApplication *qApp; \
extern Q_EXPORT void qt_ucm_initialize( QApplication *theApp ); \
Q_EXTERN_C __declspec(dllexport) int ucm_initialize( QApplication *theApp, bool *mt, bool *debug ) \
Q_PLUGIN_INITIALIZE \
Q_EXTERN_C __declspec(dllexport) QUnknownInterface* ucm_instantiate() \
Q_PLUGIN_INSTANTIATE( PLUGIN )
# endif
# else
# define Q_EXPORT_PLUGIN( PLUGIN ) \
class QApplication;\
extern Q_EXPORT QApplication *qApp; \
extern Q_EXPORT void qt_ucm_initialize( QApplication *theApp ); \
Q_EXTERN_C int ucm_initialize( QApplication *theApp, bool *mt, bool *debug ) \
Q_PLUGIN_INITIALIZE \
Q_EXTERN_C QUnknownInterface* ucm_instantiate() \
Q_PLUGIN_INSTANTIATE( PLUGIN )
# endif
#endif
struct QUnknownInterface;
class Q_EXPORT QGPlugin : public QObject
{
Q_OBJECT
public:
QGPlugin( QUnknownInterface *i );
~QGPlugin();
QUnknownInterface* iface();
void setIface( QUnknownInterface *iface );
private:
QGPlugin();
QUnknownInterface* _iface;
};
#endif // QT_NO_COMPONENT
#endif // QGPLUGIN_H